package com.hyts.agent.bean;

import com.hyts.agent.base.param.AgentTransferParam;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

/**
 * project-name:coffice-toolbox
 * package-name:com.hyts.agent.bean
 * author:Libo/Alex
 * create-date:2019-07-14 17:03
 * copyright:libo-hyts-github
 * email:libo2dev@aliyun.com
 * description:此类主要用于:
 */
public class AgentExecuteParam{

    /**
     * 是否继续执行接下来的服务操作,用于中断执行的功能默认最好不影响正常服务运行=true
     * 如果为false-一般作用于在before阶段-如果为false，不回去执行相关的原方法调用
     * 慎用！！！！
     */
    private boolean executeProtoMethod = true;

    /**
     * 默认状态为true
     * 是否执行after调用
     */
    private boolean executeAfterMethod = true;

    /**
     * 探针执行转换传递操作
     */
    private AgentTransferParam agentTransferParam;


    public AgentExecuteParam(AgentTransferParam agentTransferParam) {
        this.agentTransferParam = agentTransferParam;
    }


    public boolean isExecuteProtoMethod() {
        return executeProtoMethod;
    }

    public void setExecuteProtoMethod(boolean executeProtoMethod) {
        this.executeProtoMethod = executeProtoMethod;
    }

    public boolean isExecuteAfterMethod() {
        return executeAfterMethod;
    }

    public void setExecuteAfterMethod(boolean executeAfterMethod) {
        this.executeAfterMethod = executeAfterMethod;
    }

    public AgentTransferParam getAgentTransferParam() {
        return agentTransferParam;
    }

    public void setAgentTransferParam(AgentTransferParam agentTransferParam) {
        this.agentTransferParam = agentTransferParam;
    }
}
